
#内部变量, '+='可以追加变量
CFLAGS = -02 		#C编译选项
CFLAGS += -Wall
CFLAGS += -Werror

LDFLAGS = -lpthread	#链接器参数
CC = gcc			#C编译器名称

#自定义变量
# BIN:a b x
# all:$(BIN)

#变量的定义与引用, '='可以全局引用, ':='是简单引用
# B := I love $(A)
# A = China
# all:
# 	echo $(B)

#方法一
# all:a b x

# a:a.c
# 	$(CC) a.c -o a $(LDFLAGS)
# b:b.c
# 	gcc b.c -o b
# x:x.c
# 	gcc x.c -o x


#方法二
# all:a.c b.c x.c
# 	gcc a.c -o a
# 	gcc b.c -o b
# 	gcc x.c -o x


#方法三,自动化变量
# BIN = a b x
# image:$(BIN)
# 	$(CC) $(BIN) -o image
# $(BIN):%:%.c 
# 	$(CC) $^ -o $@ 


# 顶层Makefile
export A = apple
B = bnanaa

all:
	@echo "rank 1:$(A)"	#@减少显示
	@echo "rank 1:$(B)"
	@$(MAKE) -C ./bin -B

#避免隐式规则误操作
.PHONY:all

clean:
	@%(MAKE) -C /bin clean